Índice

[[#Diseñando el Steering del agente]]
[[#Desambiguaciones en Agentes Conversacionales]]
[[#Cómo afinar un agente conversacional]]


Diseñando el Steering del agente

El steering (dirección o guiado) en un agente conversacional se refiere a cómo se conduce la conversación para que el usuario llegue a su objetivo. Los puntos clave a la hora de diseñar la recopilación de intenciones principales son:


Construyendo un flujo de Steering

Para crear un flujo de steering, puedes seguir un proceso típico que a menudo se inicia con la intención de bienvenida (Default Welcome Intent).

  1. Activación de la conversación: La conversación se inicia con el Default Welcome Intent. Esta intención se activa en el primer turno y sirve para que el agente salude al usuario y le pregunte cómo puede ayudarle.

  2. Configuración de la página: En la página donde se recopilará la intención principal, debes agregar:

    • Un mensaje de bienvenida: Algo como: "Hola, ¿en qué puedo ayudarte hoy?".

    • Manejo de errores: Configura los manejadores de eventos para no-match y no-input en caso de que el agente no entienda al usuario.

    • Rutas o grupos de rutas: Añade las rutas necesarias para cada intención principal que tu agente deba manejar. Una buena práctica es guardar el nombre de la intención coincidente como un parámetro para un enrutamiento posterior más sencillo.

Consideraciones adicionales


Desambiguaciones en Agentes Conversacionales

La desambiguación es el proceso de aclarar la intención de un usuario cuando su solicitud inicial es ambigua o incompleta. Este proceso es clave para dirigir al usuario al flujo o sistema correcto.

Existen dos escenarios principales en los que se requiere desambiguación:

  1. Solicitud inicial vaga: El usuario hace una afirmación genérica como "Tengo una pregunta" o "Tengo un problema" en lugar de una solicitud específica. También puede dar un término amplio como "solución de problemas", que requiere que el agente aclare a qué se refiere.

  2. Información faltante para el routing: La solicitud del usuario es clara, pero el agente necesita más información para saber a dónde dirigir la conversación. Por ejemplo, un usuario dice que quiere "portar una línea", pero el agente necesita saber si es "portar dentro" o "fuera" para aplicar las reglas de negocio correctas.


Cómo construir desambiguaciones efectivas

El diseño de las desambiguaciones debe ser estratégico para evitar la frustración del usuario.


Principios de diseño conversacional para la desambiguación

  1. Evita la repetición: No hagas la misma pregunta de desambiguación una y otra vez. Almacena el valor de los parámetros para evitar bucles.

  2. Usa datos de backend: Si tienes información del cliente (ej., sabe que solo tiene una cuenta de móvil), úsala para evitar hacer preguntas innecesarias ("¿Llamas por tu cuenta de hogar o de móvil?").

  3. Haz eco de las palabras del cliente: Usa el lenguaje del cliente para hacer la pregunta. Por ejemplo, si el cliente dice "problema de facturación", pregunta "¿Qué problema de facturación tienes?" en lugar de "¿Qué pregunta de facturación tienes?".

  4. Maneja el contexto: Los usuarios a menudo asumen un contexto previo. Si el agente pregunta "¿Qué pregunta de facturación tienes?", el usuario podría responder solo con "Cuánto es". Asegúrate de tener intenciones contextuales para capturar este tipo de frases.


Cómo afinar un agente conversacional

Después de configurar un agente, es crucial optimizarlo para que su rendimiento sea óptimo. Para ello, se utilizan varias herramientas y métodos antes de llevarlo a producción.

Herramientas de validación

  1. Herramienta de validación nativa:

    • Propósito: Identifica problemas como frases de entrenamiento demasiado similares entre intenciones, parámetros sin entidades definidas o anotaciones inconsistentes.

    • Tipos de mensajes:

      • Errores: Impiden que el agente maneje la solicitud. Es obligatorio resolverlos.

      • Advertencias: Podrían reducir la precisión del agente. Se recomienda resolverlas.

      • Información: Sugieren mejoras según las mejores prácticas. Deben ser revisadas.

  2. Scripts de validación personalizados:

    • Propósito: Puedes crear tus propios scripts para identificar problemas específicos que la herramienta nativa no cubre, como frases de entrenamiento similares en diferentes intenciones o errores en el etiquetado de entidades.

Uso de conjuntos de pruebas (test sets)

Afinación del NLU

La afinación de la comprensión del lenguaje natural (NLU) es un proceso clave para mejorar la precisión del agente.

Ajustes comunes: Unir y dividir intenciones

A menudo, las intenciones con frases de entrenamiento muy similares causan problemas de "no-match". Para solucionarlo, puedes unir o dividir intenciones.

Para una pequeña cantidad de frases, estos cambios se pueden hacer directamente en la consola. Para intenciones más grandes, se recomienda descargar las frases a una hoja de cálculo, editarlas y volver a subirlas.